home *** CD-ROM | disk | FTP | other *** search
/ Nikkei Mac 20 / NIKKEI-MAC-CD-VOL-20-1998-12.ISO.7z / NIKKEI-MAC-CD-VOL-20-1998-12.ISO / デモソフトライブラリー / 日本テレコムODNスターターキット / OT⁄PPP 1.0 Install / CCL Disk / Modem CCLs / OMRON ME3314A⁄B / OMRON ME3314A_B next >
Text File  |  1997-05-29  |  9KB  |  520 lines

  1. !  OMRON ME3314A/B
  2. !    Author:    Kris Kreutzman
  3. !
  4. !    Copyright:    ゥ 1991-1996 Apple Computer, Inc.    All Rights Reserved.
  5. !
  6. !    revision history:
  7. !        v2.1    as shipped with the ARA 2.1
  8. !
  9. !  'mlts' resource info for this modem:
  10. !    byte 1 == 01 -> modem HAS built-in error correction protocols
  11. !    byte 2 == 01 -> modem HAS built-in data compression protocols
  12. !    byte 3 == 40 -> max number of chars in varstr 7
  13. !    byte 4 == 40 -> max number of chars in varstr 8
  14. !    byte 5 == 40 -> max number of chars in varstr 9
  15. !    
  16. @ORIGINATE
  17. @ANSWER
  18. !
  19. ! ---- Initial modem setup ----
  20. !
  21. ! Set serial port speed depending upon the compression flag
  22. !    A higher rate with compression on to handle expanded data from the modem
  23. !    A lower rate closer to the DCE when compression is off
  24. ifstr 5 1 "0"
  25. serreset 57600, 0, 8, 1
  26. jump 2
  27. !
  28. @LABEL 1
  29. serreset 38400, 0, 8, 1
  30. !
  31. @LABEL 2
  32. hsreset 0 0 0 0 0 0
  33. settries 0
  34. !
  35. ! Get the modem's attention
  36. !
  37. matchclr
  38. matchstr 1 3 "OK¥13¥10"
  39. write "ATZ0¥13"
  40. matchread 30
  41. !
  42. @LABEL 3
  43. !
  44. ! Setup the modem for the following:
  45. !   Reset to factory settings
  46. !   Standard compression/reliablity
  47. !   Lock serial port speed
  48. !   Serial port hardware handshaking, turn off software handshaking
  49. !   Verbose responces and compression/protocol results
  50. !   CONNECT returns DCE speed
  51. !   Turn off answering
  52. !   Reset or return to command mode on DTR toggle (optional)
  53. !
  54. matchclr
  55. matchstr 1 4   "OK¥13¥10"
  56. matchstr 2 101 "ERROR¥13¥10"
  57. write "ATE0&D0&S1S0=0¥13"
  58. matchread 30
  59. inctries
  60. iftries 3 101
  61. !
  62. ! Reset the Modem on setup failure
  63. !
  64. DTRClear
  65. pause 5
  66. DTRSet
  67. flush
  68. jump 3
  69. !
  70. !
  71. @LABEL 4
  72. ! Varstring 4 , reliable link protocol:
  73. !    = 0, handled by computer (ARAP)
  74. !    = 1, handled by modem (PPP)
  75. !    = 2, MNP10 protocol (Cellular protocol, no longer supported)
  76. ifstr 4 5 "1"
  77. ifstr 4 5 "2"
  78. !
  79. ! Varstring 4 == 0, turn off reliable link protocol in modem (ARAP)
  80. matchclr
  81. matchstr 1 9 "OK¥13¥10"
  82. write "AT&M0¥13"
  83. matchread 30
  84. jump 101
  85. !
  86. !
  87. @LABEL 5
  88. ! Varstring 5, compression protocol:
  89. !    = 0, handled by computer 
  90. !    = 1, handled by modem
  91. ifstr 5 9 "1"
  92. !
  93. ! Varstring 5 == 0, turn off compression protocol in modem.
  94. matchclr
  95. matchstr 1 9 "OK¥13¥10"
  96. write "AT&K0¥13"
  97. matchread 30
  98. jump 101
  99. !
  100. !
  101. @LABEL 9
  102. ! Varstring 2, modem speaker:
  103. !    = 0, speaker off
  104. !    = 1, speaker on
  105. ifstr 2 13 "1"
  106. pause 5
  107. matchclr
  108. matchstr 1 13 "OK¥13¥10"
  109. write "ATM0¥13"
  110. matchread 30
  111. jump 101
  112. !
  113. ! Modem ready, wait for a call or originate a call
  114. !
  115. @LABEL 13
  116. ifANSWER 32
  117. !
  118. !
  119. ! ---- Originating a call ----
  120. !
  121. ! Varstring 6, dialing mode:
  122. !    = 0, normal dialing
  123. !    = 1, blind dialing
  124. !    = 2, manual dialing
  125. ifstr 6 17 "1"
  126. ifstr 6 15 "2"
  127. jump 19
  128. !
  129. @LABEL 15
  130. ! Display ASK dialog with message.  Goto label 107 if dialog canceled.
  131. ASK 2 "Pick up the phone & dial ^1.  Hit OK when the phone rings, then hangup." 107
  132. note "手動ダイアル中" 3
  133. ! X1 to ignore dialtone & busy, D to dial, ¥^ generates data tone
  134. write "ATX1D^1¥13"
  135. jump 32
  136. !
  137. @LABEL 17
  138. note "ダイアルトーンを無視してダイアル中" 3
  139. matchclr
  140. matchstr 1 19 "OK¥13¥10"
  141. ! X1 to ignore dialtone & busy
  142. write "ATX1¥13"
  143. matchread 30
  144. jump 101
  145. !
  146. !
  147. @LABEL 19
  148. ! Display the full dialstring contained in Varstring 1
  149. note "ダイアル中 ^1" 3
  150. !
  151. ! Varstrings 7, 8 and 9, contain dialstring fragments
  152. !    Long phone numbers may need to be split into smaller groups
  153. !    for the modem to use
  154. !
  155. ! Varstring 3:  "p" for pulse & "t" for tone dialing
  156. ! Varstring 8 == blank (dialstring in varstring 7)
  157. ! Varstring 9 == blank (dialstring in varstrings 7 & 8)
  158. ! Otherwise (dialstring in varstrings 7, 8 & 9)
  159. ! ¥^ is added to the dialstring to force the modem to generate a data tone
  160. ifstr 8 27 " "
  161. ifstr 9 24 " "
  162. !
  163. !  Write dialstring in varstrings 7, 8 & 9
  164. matchclr
  165. matchstr 1 21 "OK¥13¥10"
  166. write "ATD^3^7;¥13"
  167. matchread 400
  168. jump 101
  169.  
  170. @LABEL 21
  171. matchclr
  172. matchstr 1 22 "OK¥13¥10"
  173. write "ATD^3^8;¥13"
  174. matchread 400
  175. jump 101
  176.  
  177. @LABEL 22
  178. write "ATD^3^9¥13"
  179. jump 32
  180. !
  181. !
  182. @LABEL 24
  183. !  Write dialstring in varstrings 7 & 8
  184. matchclr
  185. matchstr 1 25 "OK¥13¥10"
  186. write "ATD^3^7;¥13"
  187. matchread 400
  188. jump 101
  189.  
  190. @LABEL 25
  191. write "ATD^3^8¥13"
  192. jump 32
  193. !
  194. @LABEL 27
  195. !  Write dialstring in varstring 7
  196. write "ATD^3^7¥13"
  197. !
  198. !
  199. !    ---- Connection responce ----
  200. !
  201. ! The following section will parse modem responces of two types:
  202. !   1) PROTOCOL: xxx, COMPRESSION: xxx, CONNECT xxx
  203. !   2) CONNECT xxx/ARQ/V42
  204. !
  205. @LABEL 32
  206. matchclr
  207. matchstr  1 81  "RING¥13¥10"
  208. matchstr  2 102 "NO DIALTONE¥13¥10"
  209. matchstr  3 103 "NO CARRIER¥13¥10"
  210. matchstr  4 103 "ERROR¥13¥10"
  211. matchstr  5 104 "BUSY¥13¥10"
  212. matchstr  6 105 "NO ANSWER¥13¥10"
  213. matchstr  7 33  "CONNECT "
  214. matchstr  8 32  "CARRIER "
  215. matchstr  9 40  "CONNECT¥13¥10"
  216. matchstr 10 62  "PROTOCOL: LAPM"
  217. matchstr 11 62  "PROTOCOL: MNP4"
  218. matchstr 12 62  "PROTOCOL: MNP10"
  219. matchstr 13 62  "PROTOCOL: ALT"
  220. matchstr 14 67  "COMPRESSION: V42BIS"
  221. matchstr 15 67  "COMPRESSION: MNP5"
  222. matchstr 16 67  "COMPRESSION: CLASS"
  223. matchread 700
  224. ifANSWER 32
  225. jump 101
  226. !
  227. !  Parse the speed of connect result codes
  228. !  2400 and 4800 have two entries each
  229. !  to distinguish them from 24000 and 48000
  230. !
  231. @LABEL 33
  232. matchclr
  233. matchstr  1 40 "2400¥13"
  234. matchstr  2 40 "2400/"
  235. matchstr  3 41 "4800¥13"
  236. matchstr  4 41 "4800/"
  237. matchstr  5 42 "7200"
  238. matchstr  6 43 "9600"
  239. matchstr  7 44 "12000"
  240. matchstr  8 45 "14400"
  241. matchstr  9 46 "16800"
  242. matchstr 10 47 "19200"
  243. matchstr 11 48 "21600"
  244. matchstr 12 49 "24000"
  245. matchstr 13 50 "26400"
  246. matchstr 14 51 "28800"
  247. matchstr 15 52 "31200"
  248. matchstr 16 53 "33600"
  249. matchstr 17 54 "38400"
  250. matchstr 18 55 "48000"
  251. matchstr 19 56 "56000"
  252. matchstr 20 57 "57600"
  253. matchstr 21 58 "64000"
  254. matchread 30
  255. jump 59
  256. !
  257. ! -- Connection rates --
  258. ! CommunicatingAt informs ARA of the raw modem to modem
  259. ! connection speed.
  260. !
  261. @LABEL 40
  262. note "2400bpsで接続" 2
  263. CommunicatingAt 2400
  264. jump 60
  265. !
  266. @LABEL 41
  267. note "4800bpsで接続" 2
  268. CommunicatingAt 4800
  269. jump 60
  270. !
  271. @LABEL 42
  272. note "7200bpsで接続" 2
  273. CommunicatingAt 7200
  274. jump 60
  275. !
  276. @LABEL 43
  277. note "9600bpsで接続" 2
  278. CommunicatingAt 9600
  279. jump 60
  280. !
  281. @LABEL 44
  282. note "12000bpsで接続" 2
  283. CommunicatingAt 12000
  284. jump 60
  285. !
  286. @LABEL 45
  287. note "14400bpsで接続" 2
  288. CommunicatingAt 14400
  289. jump 60
  290. !
  291. @LABEL 46
  292. note "16800bpsで接続" 2
  293. CommunicatingAt 16800
  294. jump 60
  295. !
  296. @LABEL 47
  297. note "19200bpsで接続" 2
  298. CommunicatingAt 19200
  299. jump 60
  300. !
  301. @LABEL 48
  302. note "21600bpsで接続" 2
  303. CommunicatingAt 21600
  304. jump 60
  305. !
  306. @LABEL 49
  307. note "24000bpsで接続" 2
  308. CommunicatingAt 24000
  309. jump 60
  310. !
  311. @LABEL 50
  312. note "26400bpsで接続" 2
  313. CommunicatingAt 26400
  314. jump 60
  315. !
  316. @LABEL 51
  317. note "28800bpsで接続" 2
  318. CommunicatingAt 28800
  319. jump 60
  320. !
  321. @LABEL 52
  322. note "31200bpsで接続" 2
  323. CommunicatingAt 31200
  324. jump 60
  325. !
  326. @LABEL 53
  327. note "33600bpsで接続" 2
  328. CommunicatingAt 33600
  329. jump 60
  330. !
  331. @LABEL 54
  332. note "38400bpsで接続" 2
  333. CommunicatingAt 38400
  334. jump 60
  335. !
  336. @LABEL 55
  337. note "48000bpsで接続" 2
  338. CommunicatingAt 48000
  339. jump 60
  340. !
  341. @LABEL 56
  342. note "56000bpsで接続" 2
  343. CommunicatingAt 56000
  344. jump 60
  345. !
  346. @LABEL 57
  347. note "57600bpsで接続" 2
  348. CommunicatingAt 57600
  349. jump 60
  350. !
  351. @LABEL 58
  352. note "64000bpsで接続" 2
  353. CommunicatingAt 64000
  354. jump 60
  355. !
  356. @LABEL 59
  357. note "接続速度不明!!" 2
  358. jump 60
  359. !
  360. ! Look for reliablilty and compression results 
  361. ! at the end of the connect result.
  362. !
  363. @LABEL 60
  364. matchclr
  365. matchstr  1 63 "LAPM"
  366. matchstr  2 63 "REL"
  367. matchstr  3 63 "ARQ"
  368. matchstr  4 63 "REL4"
  369. matchstr  5 63 "REL10"
  370. matchstr  6 68 "COMP/"
  371. matchstr  7 68 "COMP¥13"
  372. matchstr  8 63 "V42"
  373. matchstr  9 63 "V42¥13"
  374. matchstr 10 68 "V42BIS"
  375. matchstr 11 68 "V42bis"
  376. matchstr 12 68 "LAPMV"
  377. matchstr 13 63 "MNP¥13"
  378. matchstr 14 68 "MNP5"
  379. matchstr 15 70 "¥10"
  380. matchread 30
  381. jump 70
  382.  
  383. ! -- Modem error correction link negotiation --
  384. ! Userhook 2 informs ARA that a modem-to-modem error
  385. ! correcting protocol has been negotiated
  386. !
  387. !
  388. @LABEL 62
  389. note "エラー訂正モードで接続" 2
  390. userhook 2
  391. jump 32
  392. !
  393. @LABEL 63
  394. note "エラー訂正モードで接続" 2
  395. userhook 2
  396. jump 60
  397. !
  398. ! -- Compression negotiation --
  399. ! Userhook 3 informs ARA that a modem-to-modem compression
  400. ! protocol has been negotiated
  401. !
  402. @LABEL 67
  403. note "データ圧縮モードで接続" 2
  404. userhook 3
  405. jump 32
  406. !
  407. @LABEL 68
  408. note "データ圧縮モードで接続" 2
  409. userhook 3
  410. jump 60
  411. !
  412. !
  413. ! -- Normal exit after "CONNECT" --
  414. !
  415. !  This modem has been setup to do CTS handshaking,
  416. !  and we assume that a CTS handshaking cable is being used.
  417. !
  418. @LABEL 70
  419. ! Turn on CTS handshaking.
  420. HSReset 0 1 0 0 0 0
  421. !
  422. ifANSWER 71
  423. pause 30
  424. @LABEL 71
  425. exit 0
  426. !
  427. !
  428. ! ---- Answer calls ----
  429. !
  430. !    A RING result from the modem and in ANSWERING mode
  431. !    claims the serial port and answering the phone
  432. !
  433. @LABEL 81
  434. ifORIGINATE 32
  435. userhook 1
  436. note "着信..." 2
  437. write "ATA¥13"
  438. jump 32
  439. !
  440. !
  441. ! ---- Hang up and reset modem ----
  442. !
  443. @HANGUP
  444. @LABEL 90
  445. settries 0
  446. HSReset 0 0 0 0 0 0
  447. !
  448. @LABEL 92
  449. !  Escape from data to command mode
  450. matchclr
  451. matchstr 1 96 "OK¥13¥10"
  452. write "+++"
  453. matchread 20
  454. !
  455. @LABEL 94
  456. ! Force a hangup
  457. matchclr
  458. matchstr 1 98 "NO CARRIER¥13¥10"
  459. matchstr 2 98 "OK¥13¥10"
  460. matchstr 3 98 "ERROR¥13¥10"
  461. matchstr 4 98 "0¥13¥10"
  462. write "ATH¥13"
  463. matchread 30
  464. ! Try to get control of the modem by toggling DTR
  465. DTRClear
  466. pause 5
  467. DTRSet
  468. flush
  469. !
  470. ! Try the hangup sequence three times otherwise declare and error
  471. inctries
  472. iftries 3 101
  473. jump 92
  474. !
  475. @LABEL 96
  476. ! Pause between data and command mode
  477. pause 50
  478. jump 94
  479. !
  480. !
  481. @LABEL 98
  482. ! Recall the factory settings
  483. pause 15
  484. matchclr
  485. matchstr 1 99 "OK¥13¥10"
  486. write "ATZ0¥13"
  487. matchread 30
  488. jump 101
  489. !
  490. @LABEL 99
  491. exit 0
  492. !
  493. ! ---- Error messages -----
  494. !
  495. ! Modem Not Responding
  496. @LABEL 101
  497. exit -6019
  498. !
  499. ! No Dial Tone
  500. @LABEL 102
  501. exit -6020
  502. !
  503. ! No Carrier or Error
  504. @LABEL 103
  505. exit -6021
  506. !
  507. ! Busy
  508. @LABEL 104
  509. exit -6022
  510. !
  511. ! No Answer
  512. @LABEL 105
  513. exit -6023
  514. !
  515. ! User Cancellation
  516. @LABEL 107
  517. exit -6008
  518.